Session Initiation Protocol (SIP) is an open signaling protocol for establishing many kinds of real-time communication sessions. Examples of the types of communication sessions that may be established using SIP include voice, video, and/or instant messaging. These communication sessions may be carried out on any type of communication device such as a personal computer, laptop computer, Personal Digital Assistant, telephone, mobile phone, cellular phone, or the like. One key feature of SIP is its ability to use an end-user's Address of Record (AOR) as a single unifying public address for all communications. Thus, in a world of SIP-enhanced communications, a user's AOR becomes their single address that links the user to all of the communication devices associated with the user. Using this AOR, a caller can reach any one of the user's communication devices, also referred to as User Agents (UAs) without having to know each of the unique device addresses or phone numbers.
Many SIP communication sessions are enhanced by virtue of the fact that an application is inserted or included into the communication session during the establishment of that session. The incorporation of applications into a communication session is typically referred to as application sequencing because the applications are sequentially invoked during the establishment of the communication session. In some instances the applications are owned and operated by an enterprise that is administering the SIP network. In some instances, the applications may be provided by third-party vendors. In either event, the traditional way in which applications are included in the communication session is during the communication session establishment stage so that these applications can insert themselves into the signaling and media path of the communication session.
Exemplary types of applications that may be utilized for a communication session include, without limitation, call recording applications, communication log services, conferencing applications, security applications, encryption applications, collaboration applications, whiteboard applications, mobility applications, presence applications, media applications, messaging applications, bridging applications, and any other type of application that can supplement or enhance communications.
In an architecture adhering to SIP standards (e.g., as defined in RFC 3261, the entire contents of which are hereby incorporated herein by reference), a chain of sequenced applications may be established for the communication session. In a chain of sequenced applications, the entire sequence fails according to SIP standards if a single application in the sequence fails at any time during a communication session. The problem is analogous to a string of Christmas lights that go out if a single bulb goes out. Specifically, the overall fail rate for a sequence of applications is the sum total of each server's fail rate in the application sequence.
For example, if a user has an application sequence that includes a call recording application and that application fails during the communication session, it would be desirable to restore signaling without re-building the entire application sequence.